package com.palmcity.rtti.base;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;


/**
 * <p>DTICity</p>
 * <p>用途：将DTI信息以城市为单位封装到DTICity中</p>
 *
 * @author		韩鹏(hanpeng@ctfo.com, hanpeng@163.com)
 * @version		0.0.2  2011-8-3
 * <table style="border:1px solid gray;">
 * <tr>
 * <th width="100px">版本号</th><th width="100px">动作</th><th width="100px">修改人</th><th width="100px">修改时间</th>
 * </tr>
 * <!-- 以 Table 方式书写修改历史 -->
 * <tr>
 * <td>0.0.0</td><td>创建类</td><td>Administrator</td><td>2010-11-8 上午9:58:01</td>
 * </tr>
 * <tr>
 * <td>0.0.1</td><td>创建类</td><td>Administrator</td><td>2010-11-8 上午9:58:01</td>
 * <td>0.0.2</td><td>修改类</td><td>韩鹏</td><td>2011年8月3日</td>
 * </tr>
 * </table>
*/
public class DTICity implements Serializable {

	/** TODO */
	private static final long serialVersionUID = 2096010583815643989L;

	/**
	 * 城市代码 
	 * 用四位十进制数字表示
	 */
	private String cityCode;
	
	/**
	 * 数据发布时间timeid 
	 * 1-2880整数，表示24个小时，每0.5分钟一个间隔
	 */
	private int timeId;
	
	/** 网格对象列表 */
	private final List<DTIMesh> meshList=new LinkedList<DTIMesh>();

	
	/**
	 * 构造器 
	 */
	public DTICity() {
		cityCode = "";
	}

	
	/**
	 * 字段 cityCode 获取函数
	 * @return the cityCode : String
	 */
	public String getCityCode() {
		return cityCode;
	}


	/**
	 * 字段 cityCode 设置函数 : String
	 * @param cityCode the cityCode to set
	 */
	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}


	/**
	 * 字段 timeId 获取函数
	 * @return the publishTime : int
	 */
	public int getTimeId() {
		return timeId;
	}


	/**
	 * 字段 timeId 设置函数 : int
	 * @param publishTime the timeId to set
	 */
	public void setTimeId(int publishTime) {
		this.timeId = publishTime;
	}


	/**
	 * 获取网格列表 
	 * @return
	 */
	public List<DTIMesh> getMeshList() {
		return meshList;
	}

	/**
	 * FIXME 
	 * @param mesh
	 */
	public void addMesh(DTIMesh mesh) {
		this.meshList.add(mesh);
	}

	/**
	 * 判断网格列表是否为空 
	 * @return
	 */
	public boolean isMeshEmpty() {
		return meshList.isEmpty();
	}
	
	/**
	 * 获取DTI对象大小总数 
	 * @return
	 */
	public int getDtiDataSize() {
		int total = 0;
		for (DTIMesh mesh:meshList) {
			total+=mesh.getDtiList().size();
		}
		return total;
	}
}